<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Enabling the B0-based remote API - client side</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>

<body>

<div align="center">
<table class=allEncompassingTable >
 <tr>
  <td >
<p><a href="../index.html" TARGET="_top"><img src="images/homeImg.png"></a></p>


<h1>Enabling the B0-based remote API - client side</h1>

<p class=warningBox>The B&Oslash;-based remote API should not be mixed-up with the <a href="legacyRemoteApiOverview.htm">legacy remote API</a> (or simply <em>remote API</em>), which is an older version of the remote API that is less flexible, and more difficult to extend.</p>

<p class=warningBox>All units going to, or coming from the API are in meters, kilograms, seconds and <strong>radians</strong>  or a combination of those (unless otherwise explicitly indicated).<br>
</p>


<br>
<br>

<table class=subsectionTable><tr class=subsectionTd>
  <td class=subsectionTd>
<a name="c"></a>C++ client
</td></tr></table> 


<p>To use the B0-based remote API functionality in your C++ application, just include following  files in your project:</p>

<li><em>programming/remoteApiBindings/b0Based/cpp/b0RemoteApi.h</em></li>
<li><em>programming/remoteApiBindings/b0Based/cpp/b0RemoteApi.cpp</em></li>
<li>include the path to <em>programming/remoteApiBindings/b0Based/cpp/msgpack-c/include</em></li>
<li>include the path to <em>programming/blueZero/include</em>/b0/bindings</li>
<li>link  the blueZero library (e.g. <em>b0.dll</em>), and do not forget that the blueZero library itself has dependencies (e.g. <em>libzmq</em>, <em>boost_chrono</em>, <em>boost_system</em>, <em>boost_thread, etc.</em>).</li>

<p>Have a look at the <em>programming/remoteApiBindings/b0Based/cpp/simpleTest</em> project files, and the corresponding demo scene <em>B0-basedRemoteApiDemo.ttt</em>, for additional details.</p>

<p><a href="b0RemoteApi-cpp.htm">This page</a> lists and describes all supported  C++ B0-based remote API functions. CoppeliaSim remote API functions can easily be recognized from their &quot;simx&quot;-prefix.
</p>

<br>
<br>

<table class=subsectionTable><tr class=subsectionTd><td class=subsectionTd>
<a name="python"></a>Python client
</td></tr></table> 

<p>To use the B0-based remote API functionality in your Python script, you will need following:</p>

<li>install <a href="https://msgpack.org/index.html">MessagePack</a> for Python: pip install msgpack</li>
<li><em>programming/remoteApiBindings/b0Based/python/b0RemoteApi.py</em></li>
<li><em>programming/remoteApiBindings/b0Based/python/b0.py</em></li>
<li>the blueZero library (e.g. <em>b0.dll</em>), and do not forget that the blueZero library itself has dependencies (e.g. <em>libzmq</em>, <em>boost_chrono</em>, <em>boost_system</em>, <em>boost_thread, etc.</em>).</li>

<p>Have a look at the <em>programming/remoteApiBindings/b0Based/python/simpleTest.py</em> program, and the corresponding demo scene <em>B0-basedRemoteApiDemo.ttt</em>, for additional details.</p>
<p><a href="b0RemoteApi-python.htm">This page</a> lists and describes all supported  Python B0-based remote API functions. CoppeliaSim remote API functions can easily be recognized from their &quot;simx&quot;-prefix.</p>
<br>
<br>

<table class=subsectionTable><tr class=subsectionTd><td class=subsectionTd>
<a name="java"></a>Java client
</td></tr></table> 


<p>To use the B0-based remote API functionality in your Java application, you will need following:</p>

<li>package <em>programming/remoteApiBindings/b0Based/java/coppelia/b0RemoteApi</em></li>
<li>package <em>programming/remoteApiBindings/b0Based/java/org/msgpack</em></li>
<li>the blueZero library (e.g. <em>b0.dll</em>), and do not forget that the blueZero library itself has dependencies (e.g. <em>libzmq</em>, <em>boost_chrono</em>, <em>boost_system</em>, <em>boost_thread, etc.</em>).</li>

<p>Have a look at the <em>programming/remoteApiBindings/b0Based/java/simpleTest.java</em> program, and the corresponding demo scene <em>B0-basedRemoteApiDemo.ttt</em>, for additional details.</p>
<p><a href="b0RemoteApi-java.htm">This page</a> lists and describes all supported  Java B0-based remote API functions. CoppeliaSim remote API functions can easily be recognized from their &quot;simx&quot;-prefix.</p>
<br>
<br>

<table class=subsectionTable><tr class=subsectionTd><td class=subsectionTd>
<a name="matlab"></a>Matlab client
</td></tr></table> 

<p>To use the B0-based remote API functionality in your Matlab program, you will need following:</p>

<li><em>programming/remoteApiBindings/b0Based/matlab/b0RemoteApiProto.m</em></li>
<li><em>programming/remoteApiBindings/b0Based/matlab/b0RemoteApi.m</em></li>
<li>folder <em>programming/remoteApiBindings/b0Based/matlab/msgpack-matlab</em></li>
<li>the blueZero library (e.g. <em>b0.dll</em>), and do not forget that the blueZero library itself has dependencies (e.g. <em>libzmq</em>, <em>boost_chrono</em>, <em>boost_system</em>, <em>boost_thread</em><em>, etc.</em>).</li>

<p>Have a look at the <em>programming/remoteApiBindings/b0Based/matlab/simpleTest.m</em> program, and the corresponding demo scene <em>B0-basedRemoteApiDemo.ttt</em>, for additional details.</p>
<p><a href="b0RemoteApi-matlab.htm">This page</a> lists and describes all supported  Matlab B0-based remote API functions. CoppeliaSim remote API functions can easily be recognized from their &quot;simx&quot;-prefix.</p>
<br>
<br>




<table class=subsectionTable><tr class=subsectionTd><td class=subsectionTd>
<a name="lua"></a>Lua client
</td></tr></table> 

<p>To use the B0-based remote API functionality in your external Lua script (i.e. not inside of CoppeliaSim), you will need following:</p>

<li><em>programming/remoteApiBindings/b0Based/lua/b0RemoteApi.lua</em></li>
<li>folder <em>programming/remoteApiBindings/b0Based/lua/messagePack-lua</em></li>
<li>the Lua binding library to BlueZero: <em>programming/remoteApiBindings/b0Based/lua/lib/...</em></li>
<li>the blueZero library (e.g. <em>b0.dll</em>), and do not forget that the blueZero library itself has dependencies (e.g. <em>libzmq</em>, <em>boost_chrono</em>, <em>boost_system</em>, <em>boost_thread, etc.</em>).</li>

<p>Have a look at the <em>programming/remoteApiBindings/b0Based/lua/simpleTest.lua</em> program, and the corresponding demo scene <em>B0-basedRemoteApiDemo.ttt</em>, for additional details.</p>
<p><a href="b0RemoteApi-lua.htm">This page</a> lists and describes all supported  Lua B0-based remote API functions. CoppeliaSim remote API functions can easily be recognized from their &quot;simx&quot;-prefix.</p>
<br>
<br>
 </tr>
 <tr>
   <td > 
 </tr>
</table> 
</div>  
  
  
</body>

</html>